#include<iostream>

using namespace std;
/*
 作者: 杨老师

 title: 去掉最大值的排序
 
 title_description:将一行整数里的最大值去掉，然后从小到大排好序输出。题目保证只有一个最大值
 
 input_description:输入两行，第一行输入整数n(1<=n<=1000)，第二行输入n个整数。
 output_description:输出两行，第一行输出被去掉的最大值；第二行输出去掉最大值后排好序的数。

*/
int a[1005];
int main() {

	int n;

	cin>> n;
	int max = 0;
	for(int i=1; i<=n; i++) {
		cin >> a[i];
	}
	for(int i=1; i<n; i++) {
		for(int j=1+i; j<=n; j++) {
			if(a[i]>a[j]) {
				int temp=a[j];
				a[j] = a[i];
				a[i] = temp;
			}
		}
	}
	cout<< a[n] <<endl ;
	if(n>1) {
		for(int i=1; i<n; i++) {

			cout<< a[i] <<" " ;
		}
	} else {
		cout << "-1";
	}


	return 0;
}

